8653. Прибавить вычесть и умножить
Пусть x –
переменная, изначально равная 0. Промоделируйте выполнение следующих
операций над ней:
· add a: прибавить значение a к x;
· subtract a: вычесть значение a из x;
· multiply a: умножить x на a;
Вход. Каждая строка содержит операцию
и значение. Промоделируйте все операции. Значение переменной x при выполнении каждой операции не превышает по
модулю 109.
Выход. Выведите результирующее значение
переменной x.
Пример
входа 1 |
Пример
выхода 1 |
add 2 subtract 5 subtract 1 multiply -3 |
12 |
|
|
Пример
входа 2 |
Пример
выхода 2 |
subtract 5 multiply -5 add 5 |
30 |
строки
Присвоим переменной x значение 0. Последовательно читаем входные строки: тип
операции s и значение a. В зависимости от операции изменяем значение
переменной x.
Название
операции считываем в строку s.
char s[100];
Присвоим
переменной x значение 0.
x = 0;
Последовательно
читаем строки: тип операции s и значение a. В зависимости от первой буквы строки s определяем тип команды и
выполняем соответствующее действие над переменной x.
while (scanf("%s
%lld\n", s, &a) == 2)
{
if
(s[0] == 'a') x += a; else
if
(s[0] == 'm') x *= a; else
x -=
a;
}
Выводим ответ – результирующее значение
переменной x.
printf("%lld\n", x);
import java.util.*;
public class Main
{
public static void
main(String[] args)
{
Scanner con = new
Scanner(System.in);
int x = 0;
while(con.hasNext())
{
String s = con.next();
int a = con.nextInt();
if (s.charAt(0)
== 'a') x += a; else
if (s.charAt(0)
== 'm') x *= a; else
x -= a;
}
System.out.print(x);
con.close();
}
}
import java.util.*;
class Number
{
private int x;
Number(int x)
{
this.x = x;
}
int
GetNumber()
{
return x;
}
void Add(int a)
{
x += a;
}
void
Subtract(int a)
{
x -= a;
}
void
Multiply(int a)
{
x *= a;
}
}
public class Main
{
public static void main(String[] args)
{
Scanner
con = new Scanner(System.in);
Number x = new Number(0);
while(con.hasNext())
{
String s = con.next();
int a = con.nextInt();
if (s.charAt(0) == 'a') x.Add(a); else
if (s.charAt(0) == 'm') x.Multiply(a); else
x.Subtract(a);
}
System.out.print(x.GetNumber());
con.close();
}
}
import sys
res = 0
for line in sys.stdin:
s, x = line.split()
if(s == "multiply"):
res = res * int(x)
elif(s == "add"):
res =
res + int(x)
else:
res = res - int(x)
print(res)